[XEND] Strip suffix from device name and add support for 'VBD.type'
authorAlastair Tse <atse@xensource.com>
Wed, 24 Jan 2007 12:07:54 +0000 (12:07 +0000)
committerAlastair Tse <atse@xensource.com>
Wed, 24 Jan 2007 12:07:54 +0000 (12:07 +0000)
Signed-off-by: Alastair Tse <atse@xensource.com>
tools/python/xen/xend/XendAPI.py
tools/python/xen/xend/XendDomainInfo.py

index a7ae50fafb6726861f505396ec3400f5f420c6d2..19e7ce622294c0154d0c9d9e4e15a18036afc079 100644 (file)
@@ -1090,6 +1090,7 @@ class XendAPI:
                    'VDI',
                    'device',
                    'mode',
+                   'type',                   
                    'driver']
 
     VBD_attr_inst = VBD_attr_rw + ['image']
@@ -1170,6 +1171,11 @@ class XendAPI:
         return xen_api_success(xendom.get_dev_property_by_uuid('vbd', vbd_ref,
                                                                'driver'))
 
+    def VBD_get_type(self, session, vbd_ref):
+        xendom = XendDomain.instance()
+        return xen_api_success(xendom.get_dev_property_by_uuid('vbd', vbd_ref,
+                                                              'type'))        
+
     # Xen API: Class VIF
     # ----------------------------------------------------------------
 
index 7d9808d6eba2b2a34b344d79eff959cb8a593fd0..554ce9adca1d6a575eca5585a443ae1229f8e210 100644 (file)
@@ -2058,6 +2058,14 @@ class XendDomainInfo:
         if dev_class == 'vbd':
             config['VDI'] = config.get('VDI', '')
             config['device'] = config.get('dev', '')
+            if ':' in config['device']:
+                vbd_name, vbd_type = config['device'].split(':', 1)
+                config['device'] = vbd_name
+                if vbd_type == 'cdrom':
+                    config['type'] = XEN_API_VBD_TYPE[0]
+                else:
+                    config['type'] = XEN_API_VBD_TYPE[1]
+
             config['driver'] = 'paravirtualised' # TODO
             config['image'] = config.get('uname', '')
             config['io_read_kbs'] = 0.0